Web page viewership prediction

ABSTRACT

Mechanisms for dynamically integrating content with a web page are disclosed. Statistical data that identifies a plurality of metrics associated with viewership of a web page of a plurality of web pages on a web server is received. Based on the statistical data, the web page is predicted to meet a future viewership metric. Based on the prediction, the web page is identified as a web page predicted to meet the future viewership metric. A web page identifier that identifies the web page is received from a client device. The client device is provided with a high-viewership ad content descriptor from a plurality of ad content descriptors for use in conjunction with presenting the web page to a user.

RELATED APPLICATION

This application is a continuation of co-pending U.S. patent applicationSer. No. 14/584,773, filed on Dec. 29, 2014, entitled “WEB PAGEVIEWERSHIP PREDICTION,” which is hereby incorporated herein by referencein its entirety.

TECHNICAL FIELD

The embodiments relate generally to online publishing and, inparticular, to predicting future viewership of a web page, and toaltering content presented in conjunction with the web page based on theprediction.

BACKGROUND

Many online publishers rely heavily on advertising for revenue.Advertisers are willing to pay more to advertise in conjunction with ahighly popular article than in conjunction with an unpopular article. Itis possible, over time, to determine that an article is popular and toincrease an advertising rate associated with the article. However, thesooner it can be determined that an article is popular, the sooner theadvertising rates for the article can be appropriately increased,thereby increasing advertising revenue. Under alternative salesstrategies, popular articles can be sold in bulk to advertisers ahead oftime, resulting in a lower effective rate for the advertiser and agreater number of impressions.

SUMMARY

The embodiments relate to mechanisms for dynamically integratingcontent, such as an advertisement (ad), with a web page in response to aprediction regarding future viewership of the web page based on currentviewership data associated with the web page.

In one embodiment, a method for dynamically integrating an ad with a webpage is provided. Statistical data that identifies a plurality ofmetrics associated with viewership of a web page of a plurality of webpages on a web server is received. Based on the statistical data, theweb page is predicted to meet a future viewership metric. Based on theprediction, the web page is identified as a web page predicted to meetthe future viewership metric. A web page identifier that identifies theweb page is received from a client device. The client device is providedwith a high-viewership ad content descriptor from a plurality of adcontent descriptors for use in conjunction with presenting the web pageto a user.

In one embodiment, a high-viewership flag associated with the web pageis set that identifies the web page as a web page predicted to meet thefuture viewership metric.

In one embodiment, iteratively over a period of time, the statisticaldata that identifies the plurality of metrics is requested from astatistics collection module to generate a plurality of statisticalrecords associated with the web page.

In one embodiment, a rate of change of a statistical metric over time isdetermined based on the plurality of statistical records, and it isdetermined that the rate of change exceeds a rate-of-change thresholdfor the statistical metric. In one embodiment, the statistical metriccomprises page views.

In one embodiment, the plurality of metrics comprise at least two of arate of change of a page view count metric, a referring URL metric, ageo-location metric, a unique visitor metric, and a client deviceplatform metric.

In another embodiment, a system is provided. The system includes acomputing device that comprises a communications interface configured tocommunicate with a network and comprises a processor coupled to thecommunications interface. The processor is configured to receivestatistical data that identifies a plurality of metrics associated witha viewership of a web page of a plurality of web pages on a web server.The processor is also configured to, based on the statistical data,predict that the web page will meet a future viewership metric. Theprocessor is configured to, based on the prediction, identify the webpage as a web page predicted to meet the future viewership metric. Inone embodiment, the processor is configured to set a high-viewershipflag associated with the web page that identifies the web page as a webpage predicted to meet the future viewership metric. The processor isconfigured to receive, from a client device, a web page identifier thatidentifies the web page, and, based on the web page being identified asa web page predicted to meet the future viewership metric, provide tothe client device a high-viewership ad content descriptor for use inconjunction with presenting the web page to a user.

Those skilled in the art will appreciate the scope of the disclosure andrealize additional aspects thereof after reading the following detaileddescription of the preferred embodiments in association with theaccompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawing figures incorporated in and forming a part ofthis specification illustrate several aspects of the disclosure, andtogether with the description serve to explain the principles of thedisclosure.

FIG. 1 is a block diagram of a system in which embodiments may bepracticed;

FIG. 2 is a block diagram of a statistics collection module according toone embodiment;

FIG. 3 is a message flow diagram that illustrates example messagescommunicated between various components of the system illustrated inFIG. 1 according to one embodiment;

FIG. 4 is a flowchart of a method for dynamically integrating anadvertisement with a web page according to one embodiment;

FIG. 5 is a flowchart of a method for determining whether a web pagewill meet a future viewership metric according to one embodiment; and

FIG. 6 is a block diagram of a computing device suitable forimplementing functionality described herein.

DETAILED DESCRIPTION

The embodiments set forth below represent the necessary information toenable those skilled in the art to practice the embodiments andillustrate the best mode of practicing the embodiments. Upon reading thefollowing description in light of the accompanying drawing figures,those skilled in the art will understand the concepts of the disclosureand will recognize applications of these concepts not particularlyaddressed herein. It should be understood that these concepts andapplications fall within the scope of the disclosure and theaccompanying claims.

Any flowcharts discussed herein are necessarily discussed in somesequence for purposes of illustration, but unless otherwise explicitlyindicated, the embodiments are not limited to any particular sequence ofsteps. The use herein of ordinals in conjunction with an element issolely for distinguishing what might otherwise be similar or identicallabels, such as “first web page” and “second web page,” and does notimply a priority, a type, an importance, or other attribute, unlessotherwise stated herein.

The embodiments relate to mechanisms for dynamically integrating anadvertisement (ad) with a web page in response to a prediction regardingfuture viewership of the web page based on current viewership dataassociated with the web page. While the embodiments are illustratedherein in the context of selecting ads to present in conjunction with aweb page, the embodiments are not limited to advertising, and haveapplicability in any context where it is desirable to present additionalcontent in conjunction with a web page based on predicted viewership ofthe web page.

FIG. 1 is a block diagram of a system 10 in which embodiments may bepracticed. The system 10 includes one or more client devices 12, each ofwhich is operated by a user 14. A client device 12 may comprise anydevice capable of interpreting a web page, such as a smart phone,computer tablet, laptop computer, desktop computer, or the like. Theclient device 12 is communicatively coupled to one or more other devicesvia a network 16. The network 16 may comprise any one or combination ofprivate or public networks, including the Internet. The client device 12may communicatively couple to the network 16 via any desired wired orwireless network technology, including, by way of non-limiting example,Ethernet, WiFi™, ZigBee®, Bluetooth®, or a wireless cellular technology.

Typically in response to input from the user 14, the client device 12sends a request to a web server 18 for a web page 20-1. The request mayinclude, by way of non-limiting example, a domain name, or an InternetProtocol (IP) address of the web page 20-1 and optionally a pageidentifier that identifies the specific web page 20-1. The web page 20-1includes content 22 that comprises, or links to, substantive contentassociated with the web page 20-1. For example, the web server 18 may beowned by a publishing entity 24 that is in the news business, and theweb page 20-1 may comprise a home page of a news web site associatedwith the publishing entity 24. The content 22 may comprise a mixture oflinks, text, and/or images that relate to relevant news events. The webpage 20-1 may also include one or more additional modules, functions, orinstructions that provide certain functionality when executed on theclient device 12 and that are described in greater detail below. The webpage 20-1 may be written in any desired language or languages, orcombination thereof, including, by way of non-limiting example,HyperText Markup Language (HTML), JavaScript™, or Cascading Style Sheets(CSS).

The web page 20-1 is sent by the web server 18 to the client device 12over the network 16. The client device 12 includes technology, such as abrowser module 26, that is capable of interpreting the language orlanguages in which the web page 20-1 has been coded. In particular, uponreceipt of the web page 20-1, the browser module 26 interprets the webpage 20-1 to provide the functionality, on the client device 12, that iscoded into the web page 20-1.

Among other things, the browser module 26 formats and displays thecontent 22 on a display 28 of the client device 12. In addition, the webpage 20-1 includes, in one embodiment, a report statistics module 30that collects or otherwise determines statistical data associated withthe web page 20-1 while being viewed on the client device 12 by the user14. The report statistics module 30 sends the statistical data to astatistics collection module 32. The statistics collection module 32 maybe associated with the web server 18, or associated with another entity,and may be coupled to the client device 12 via the network 16. Thestatistical data can identify any desired metrics associated withviewership of the web page 20-1, including, by way of non-limitingexample, an amount of time that the user 14 has hovered a cursor overvarious parts of the web page 20-1 when presented on the display 28, atotal amount of time the user 14 has viewed the web page 20-1, ageographic location of the client device 12, the particular platform ofthe client device 12, such as a mobile or desktop platform, the numberof social shares performed by the user 14, such as sharing the web page20-1 via one or more predetermined social network interfaces, such asFacebook®, LinkedIn®, Twitter®, and the like. The report statisticsmodule 30 may determine and provide such statistical data to thestatistics collection module 32 without interruption of or directionfrom the user 14, and the report statistics module 30 may operateconcurrently while the user 14 views the web page 20-1 on the display28.

The statistics collection module 32 collects the statistical data fromthe report statistics module 30 and maintains the statistical data,along with other statistical data, in one or more statistical data sets34. Notably, the client device 12 may be only one of hundreds,thousands, or more of client devices that request and receive the webpage 20-1 from the web server 18. Each of such client devices maysimilarly execute the report statistics module 30 and provide relevantstatistical data that identifies metrics associated with viewership ofthe web page 20-1 when viewed by a respective user on a respectiveclient device. Thus, the statistics collection module 32 may becontinually receiving statistical data relating to the web page 20-1, aswell as to other web pages maintained by the web server 18, such as webpages 20-2-20-N, over time. The statistics collection module 32 mayaggregate, summarize, or otherwise process the statistical data, andmaintain such information in statistical data sets 34-1-34-N (generally,statistical data sets 34), respectively, for the web pages 20-1-20-N(generally, web pages 20). In some embodiments, the statisticscollection module 32 may also obtain statistical data regarding the webpages 20 from the web server 18, such as, by way of non-limitingexample, statistical data associated with the number of client devicesthat request a respective web page 20.

The web page 20-1 also includes, in one embodiment, a check web pagestatus module 36. At some point after the browser module 26 loads theweb page 20-1, the check web page status module 36 sends a message thatincludes a web page identifier that identifies the web page 20-1 to aweb page status module 38. In response to the message, the web pagestatus module 38 accesses a web page entry 40-1 which corresponds to theweb page 20-1. The web page entry 40-1 includes a high-viewership (HV)flag 42-1 that indicates whether the web page 20-1 has been designatedby the web page status module 38 as a HV web page. Mechanisms by whichthe web page status module 38 determines whether the web page 20-1 is aHV web page will be discussed in greater detail below.

If the HV flag 42-1 of the web page entry 40-1 is “set,” then the HVflag 42-1 indicates that the web page 20-1 has been identified as a HVweb page. Because the web page 20-1 has been identified as a HV webpage, the web page status module 38 obtains a HV content descriptor 44-1that is associated with the web page 20-1. In some embodiments, the HVcontent descriptor 44-1 may be stored in the web page entry 40-1. The HVcontent descriptor 44-1 may comprise one or more words, an alphanumericstring, or other data. The web page status module 38 sends the HVcontent descriptor 44-1 to the client device 12.

The web page 20-1 also includes one or more get ad modules 46 thatfacilitate the placement of ads, such as an ad 48, on the web page 20-1when presented on the display 28. While for purposes of illustration,the web page 20-1 has been illustrated with only a single get ad module46, a respective web page 20 may include any number of get ad modules46, each of which corresponds to a different ad positioned at adifferent location on the display 28.

When executed by the browser module 26, the get ad module 46 sends an adretrieval message to an ad server 50 requesting an ad for presentationon the display 28. By default, the web page 20-1 may have included oneor more default content descriptors 52 for use by the ad server 50 inselecting a suitable ad. Such default content descriptors 52 mayoriginate from any number of different mechanisms, including, by way ofnon-limiting example, default content descriptors provided by the authorof the web page 20-1, or inferred from the root URL path of the web page20-1. Typically, the ad retrieval message includes the default contentdescriptors 52. However, where, as in this example, the client device 12has received the HV content descriptor 44-1, the ad retrieval messagemay include the HV content descriptor 44-1 in addition to the defaultcontent descriptors 52, or in lieu of the default content descriptors52.

The ad server 50 operates to provide ads in response to ad retrievalmessages based on the content descriptors contained in the ad retrievalmessages. In one embodiment, the ad server 50 contains ad information 54that correlates content descriptors to ads. For example, each ad mayhave associated keywords that may be used to match certain defaultcontent descriptors 52 to certain ads. In one embodiment, the ad server50 may correlate a particular HV content descriptor 44 to a particularadvertiser, such that only ads of that particular advertiser are sentwhen the particular HV content descriptor 44 is received. Thus, in thisexample, because the web page 20-1 has been flagged as a HV web page,any ad retrieval calls associated with the web page 20-1 will beprovided with an ad of the Acme Company. In essence, other advertisers,such as the Beta Company and the Wiley Company, may be blocked fromadvertising on those web pages 20 that are designated as HV web pages.Thus, if three or four ads were displayed on the display 28 inconjunction with the web page 20-1, each ad may be from the AcmeCompany. In other embodiments, a particular HV content descriptor 44 maybe used to select an ad from a subset of advertisers who have eachagreed to pay higher rates to advertise in conjunction with those webpages 20 that are designated as HV web pages.

Assume for purposes of illustration that the ad server 50 selects the ad48 of the Acme Company, based on the HV content descriptor 44-1 receivedfrom the client device 12. The ad server 50 sends the ad 48, or areference to the ad 48, to the client device 12. The browser module 26then displays the ad 48 on the display 28 in conjunction with the webpage 20-1.

FIG. 2 is a block diagram of the statistics collection module 32 ingreater detail according to one embodiment. The statistical data sets 34may include any desired statistical data that may be utilized by the webpage status module 38 to determine whether a web page 20 is a HV webpage. In one embodiment, the statistical data set 34 may include a pageview field 56-1 that identifies the number of users who have requestedthe web page 20 from the web server 18. The number of users who haverequested the web page 20 may be obtained, for example, from the webserver 18, or may be tracked based on statistical data gathered by thereport statistics modules 30 when executing on respective browsermodules 26 of those client devices 12 that have requested the web page20-1.

A time spent on page field 56-2 may track how long the user 14 viewedthe web page 20-1 before requesting a different web page 20. A referringuniform resource locator (URL) field 56-3 identifies a URL of the webpage 20 that linked to the web page 20-1 and that resulted in the clientdevice 12 requesting the web page 20-1. A geo-location field 56-4identifies a geographic location of the client device 12, which may beobtained, for example, via an IP address of the client device 12, orfrom data obtained from the client device 12, such as GPS coordinates,or via triangulation techniques. A social shares field 56-5 identifiesone or more social websites with which the user 14 has shared the webpage 20-1. A unique visitors field 56-6 identifies a number of uniquevisitors who have visited the web page 20-1. A client device platformfield 56-N identifies the client device 12 as a type of client device12, such as a mobile device or a desktop device. While only a singlestatistical data set 34-1 is illustrated as corresponding to the webpage 20-1, the statistics collection module 32 may maintain any numberof statistical data sets 34-1 in association with the web page 20-1,such as one statistical data set 34-1 for each client device 12 thatrequests the web page 20-1.

FIG. 3 is a message flow diagram that illustrates example messagescommunicated between various components of the system 10 illustrated inFIG. 1, and example processing performed by such various componentsassociated with the web page 20-1 as discussed above with regard toFIG. 1. The statistics collection module 32, on an ongoing basis,collects statistical data from the web server 18 regarding the web pages20 (FIG. 3, steps 1000-1002). The information provided by the web server18 may include, for example, web page identifiers that identify each webpage 20 offered by the web server 18, and statistical data associatedwith such web pages 20. Such information may be requested periodicallyby the statistics collection module 32, such as every 10 seconds by wayof non-limiting example, or may be provided periodically by the webserver 18 without request from the statistics collection module 32.

The web page status module 38, on an on-going basis, retrievesstatistical data from the statistics collection module 32 (FIG. 3, steps1004-1006). The statistical data may comprise both web page identifiersthat identify the web pages 20 offered by the web server 18 and thestatistical data associated with viewership of the web pages 20, asdiscussed above. The web page status module 38 utilizes the statisticaldata to predict whether a respective web page 20 will, in the future,meet a future viewership metric. For example, in one embodiment, the webpage status module 38 determines a rate of change at which therespective web page 20 is being viewed by multiple users 14. The rate ofchange may, for example, be based on the change in the number of pageviews over time. If the rate of change exceeds a predeterminedthreshold, the web page 20 may be predicted to meet the futureviewership metric. For purposes of illustration, assume that the webpage status module 38 determines that the rate of change of page viewsover time exceeds the predetermined threshold for the web page 20-1. Theweb page status module 38 sets the HV flag 42-1 to designate the webpage 20-1 as a HV web page (FIG. 3, step 1008). The web page statusmodule 38 also associates the HV content descriptor 44-1 with the webpage 20-1.

It should be noted that the change in number of page views over time isonly one example of a calculation for predicting that a respective webpage 20 will meet a future viewership metric, and the embodiments arenot limited to any particular calculation. For example, in anotherembodiment, the web page status module 38 analyzes the referring URLsassociated with the respective web page 20. Historically, it may beestablished that if a certain percentage of viewers of the respectiveweb page 20 were referred from a particular web site, the respective webpage 20 ultimately met the future viewership metric. The web page statusmodule 38 may determine that the percentage of viewers that are beingreferred from the particular web site exceeds a predetermined threshold,and the respective web page 20 is thus predicted to meet the futureviewership metric.

The client device 12 requests the web page 20-1 from the web server 18(FIG. 3, step 1010). For example, the user 14 may have entered the URLof the web page 20-1 in the browser module 26 and selected the Enterkey. In response, the web server 18 provides the web page 20-1 to theclient device 12 (FIG. 3, step 1012). The check web page status module36 executes and provides the web page ID of the web page 20-1 to the webpage status module 38 FIG. 3, (FIG. 3, step 1014). The web page statusmodule 38 accesses the web page entry 40-1 and determines that the webpage 20-1 has been flagged as a HV web page. The web page status module38 obtains the HV content descriptor 44-1 associated with the web page20-1 (FIG. 3, step 1016). The web page status module 38 sends the HVcontent descriptor 44-1 to the client device 12 (FIG. 3, step 1018). Theclient device 12 modifies any instances of the get ad module 46 toutilize the HV content descriptor 44-1 in lieu of the default contentdescriptor 52 (FIG. 3, step 1020). The get ad module 46 requests an adfrom the ad server 50, providing the HV content descriptor 44-1 to thead server 50 (FIG. 3, step 1022).

The ad server 50, based on the HV content descriptor 44-1, selects thead 48, and sends the ad 48, or a reference, such as a URL of the ad 48,to the client device 12 (FIG. 3, step 1024). The client device 12displays the ad 48 in conjunction with the web page 20-1 on the display28 (FIG. 3, step 1026). As the user 14 views the web page 20-1, thereport statistics module 30 provides statistical data regarding aspectsof the viewership of the web page 20-1 by the user 14, as discussedabove, to the statistics collection module 32 (FIG. 3, step 1028).

FIG. 4 is a flowchart of a method for dynamically integrating an ad witha web page according to one embodiment. FIG. 4 will be discussed inconjunction with FIG. 1. The web page status module 38 receivesstatistical data that identifies a plurality of metrics associated witha viewership of the web page 20-1 on the web server 18 (FIG. 4, block2000). The web page status module 38 predicts that the web page 20-1will meet a future viewership metric based on the statistical data (FIG.4, block 2002). The web page status module 38 sets the HV flag 42-1(FIG. 4, block 2004). The web page status module 38 receives from theclient device 12 a web page ID that identifies the web page 20-1 (FIG.4, block 2006). The web page status module 38 provides the client device12 with the HV content descriptor 44-1 for use in conjunction withpresenting the web page 20-1 to the user 14 (FIG. 4, block 2008).

FIG. 5 is a flowchart of a method for determining whether a web page 20will meet a future viewership metric according to one embodiment. FIG. 5will be discussed in conjunction with FIG. 1. At various intervals, theweb page status module 38 receives the number of current page views fromthe statistics collection module 32 (FIG. 5, block 3000). The web pagestatus module 38 determines, based on the number of current page viewspreviously received, a rate of change in viewership over time (FIG. 5,block 3002). The web page status module 38 determines whether the rateof change in viewership exceeds a threshold (FIG. 5, block 3004). If so,then the web page 20 is identified as a web page 20 that is predicted tomeet the future viewership criteria (FIG. 5, block 3006). If not, theprocess returns to block 3000. At the next interval, the most recentnumber of current page views is received, and the process is repeated.

As an example, assume that the web page status module 38 receivescurrent page view data associated with a web page 20 every 10 minutesfrom the statistics collection module 32. The web page status module 38stores the current page view data for each interval to facilitatecalculations over time. A current viewership “velocity” is calculated toidentify average page views per minute within each sample interval. Ateach interval, the rate of change in the viewership velocity, i.e., anacceleration, is calculated for multiple time intervals (e.g., 30minutes) and for longer duration (e.g., 3 hours). Thresholds are definedfor individual properties (websites) based on historical performance andanalysis of web pages 20 that have spiked previously. Thresholds may beexpressed as a function of minimum acceleration over a specified timeperiod. If the acceleration of the web page 20 is greater than any oneof several thresholds, the web page 20 is identified as a web page 20that is predicted to meet the future viewership metric.

The following provides an example calculation:

-   -   PVt=page views/minute at current interval    -   PVn=page views/minute taken at a previous interval    -   t=time difference between current interval and the previous        interval

Acc=(PVt−PVn)/t

-   -   [Tn]=array of threshold accelerations and time intervals    -   Assuming that PVt=1000 page views/min, PV1=600 page views/min,    -   t=60 min then:

Acc=(1000 page views/min−600 page views/min)/60 min=˜6.7 page views/min²

-   -   T3=[“minAcc”=>6.0 page views/min², “interval”=>60 min], wherein        T3 is one of a plurality of thresholds in an array. Because Acc        of about 6.7 page views/min² is greater than the minimum        “minAcc” of 6.0 page views/min², and “interval” matches the        example “t” value of 60 minutes, the web page 20 is identified        as a web page 20 that is predicted to meet the future viewership        metric.

FIG. 6 is a block diagram of a computing device 60 suitable forimplementing the functionality of various components discussed herein,including, for example, the web page status module 38, the statisticscollection module 32, the ad server 50, or the web server 18. In someembodiments, such components may be implemented on separate computingdevices 60. In other embodiments, certain of the components may beimplemented on a single computing device 60. For example, in someembodiments, the web page status module 38 and the statistics collectionmodule 32 may be implemented on a single computing device 60. These aremerely examples, and the particular implementation of functionalityversus individual computing devices may be system and design dependent.

The computing device 60 may comprise any computing or processing devicecapable of including firmware, hardware, and/or executing softwareinstructions to implement the functionality described herein for therespective component. For purposes of illustration, the computing device60 will be discussed in conjunction with implementing the web pagestatus module 38. The computing device 60 includes a central processingunit 62, sometimes referred to as a processor or micro-processor, asystem memory 64, and a system bus 66.

The system bus 66 provides an interface for system components including,but not limited to, the system memory 64 and the central processing unit62. The central processing unit 62 can be any commercially available orproprietary processor.

The system bus 66 may be any of several types of bus structures that mayfurther interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and/or a local bus using any of a varietyof commercially available bus architectures. The system memory 64 mayinclude non-volatile memory 68 (e.g., read only memory (ROM), erasableprogrammable read only memory (EPROM), electrically erasableprogrammable read only memory (EEPROM), etc.) and/or volatile memory 70(e.g., random access memory (RAM)). A basic input/output system (BIOS)72 may be stored in the non-volatile memory 68, and can include thebasic routines that help to transfer information between elements withinthe computing device 60. The volatile memory 70 may also include ahigh-speed RAM, such as static RAM for caching data.

The computing device 60 may further include or be coupled to acomputer-readable storage 74, which may comprise, for example, aninternal or external hard disk drive (HDD) (e.g., enhanced integrateddrive electronics (EIDE) or serial advanced technology attachment(SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or thelike. The computer-readable storage 74 and other drives, associated withcomputer-readable media and computer-usable media, may providenon-volatile storage of data, such as the ad information 54,computer-executable instructions, and the like. Although the descriptionof computer-readable media above refers to an HDD, it should beappreciated by those skilled in the art that other types of media whichare readable by a computer, such as Zip disks, magnetic cassettes, flashmemory cards, cartridges, and the like, may also be used in theexemplary operating environment, and further, that any such media maycontain computer-executable instructions for performing novel methods ofthe disclosed architecture.

A number of modules can be stored in the computer-readable storage 74and in the volatile memory 70, including an operating system 76 and oneor more program modules 78, which may implement the functionalitydescribed herein in whole or in part, including, for example, theability to predict the future viewership of a web page based onstatistical data associated with viewership of the web page, and anyother functionality described herein with regard to the web page statusmodule 38.

All or a portion of the embodiments may be implemented as a computerprogram product stored on a transitory or non-transitory computer-usableor computer-readable storage medium, such as the computer-readablestorage 74, which includes complex programming instructions, such ascomplex computer-readable program code, configured to cause the centralprocessing unit 62 to carry out the steps described herein. Thus, thecomputer-readable program code can comprise software instructions forimplementing the functionality of the embodiments described herein whenexecuted on the central processing unit 62. The central processing unit62, in conjunction with the program modules 78 in the volatile memory70, may serve as a controller, or control system, for the computingdevice 60 that is configured to, or adapted to, implement thefunctionality described herein.

The computing device 60 may also include a communication interface 80,suitable for communicating with the network 16 and other networks asappropriate or desired.

The embodiments, among other advantages, more quickly align theviewership of a web page with the appropriate value of providingcontent, such as ads, in conjunction with the web page.

Those skilled in the art will recognize improvements and modificationsto the preferred embodiments of the disclosure. All such improvementsand modifications are considered within the scope of the conceptsdisclosed herein and the claims that follow.

What is claimed is:
 1. A method, comprising: receiving, by a computingdevice comprising a processor device, statistical data that identifies aplurality of metrics associated with accesses of a first content item ofa plurality of content items on a content source by correspondingaccessors; based on the statistical data, making, by the computingdevice, a prediction that the first content item will meet a futureaccess metric; based on the prediction, identifying, by the computingdevice, the first content item as a content item predicted to meet thefuture access metric; receiving, from a client device over acommunications network, a content item identifier that identifies thefirst content item; and based on the first content item being identifiedas a content item predicted to meet the future access metric, providing,via the communications network, to the client device a contentdescriptor from a plurality of different content descriptors for use inconjunction with presenting the first content item on a display device.2. The method of claim 1, further comprising setting a high-access flagassociated with the first content item that identifies the first contentitem as a content item predicted to meet the future access metric. 3.The method of claim 1, wherein receiving the statistical data thatidentifies the plurality of metrics further comprises: requesting, bythe computing device iteratively over a period of time, the statisticaldata that identifies the plurality of metrics from a statisticscollection resource to generate a plurality of statistical recordsassociated with the first content item.
 4. The method of claim 3,wherein based on the statistical data, making the prediction that thefirst content item will meet the future access metric comprises:determining, by the computing device, a rate of change of a statisticalmetric over time based on the plurality of statistical records; anddetermining that the rate of change exceeds a rate-of-change thresholdfor the statistical metric.
 5. The method of claim 4, wherein thestatistical metric comprises content accesses.
 6. The method of claim 1,wherein the statistical data identifies the plurality of content itemson the content source.
 7. The method of claim 1, wherein the pluralityof metrics comprises at least two of a rate of change of a contentaccess count metric, a referring URL metric, a geo-location metric, aunique accessor metric, a share magnitude metric, and a client deviceplatform metric.
 8. The method of claim 1, wherein making the predictionthat the first content item will meet the future access metriccomprises: determining a current interval of time; determining a currentaccess-per-minute value for the current interval of time; determining aprevious access-per-minute value for a previous interval of time;determining a time span T that identifies an amount of time between theprevious interval of time and the current interval of time; determininga rate based on a difference between the current access-per-minute valueminus the previous access-per-minute value, and dividing the differenceby the time span T; accessing a rate threshold; and determining that therate is greater than the rate threshold.
 9. A system comprising: acomputing device comprising: a communications interface configured tocommunicate with a network; and a processor coupled to thecommunications interface, the processor configured to: receivestatistical data that identifies a plurality of metrics associated withaccesses of a first content item of a plurality of content items on acontent source by corresponding accessors; based on the statisticaldata, make a prediction that the first content item will meet a futureaccess metric; based on the prediction, identify the first content itemas a content item predicted to meet the future access metric; receive,from a client device, a content item identifier that identifies thefirst content item; and based on the first content item being identifiedas a content item predicted to meet the future access metric, provide tothe client device a content descriptor from a plurality of differentcontent descriptors for use in conjunction with presenting the firstcontent item on a display device.
 10. The system of claim 9, wherein toidentify the first content item as a content item predicted to meet thefuture access metric, the processor is further configured to set ahigh-access flag associated with the first content item.
 11. The systemof claim 9, wherein to receive the statistical data that identifies theplurality of metrics, the processor is further configured to request,iteratively over a period of time, the statistical data that identifiesthe plurality of metrics from a statistics collection resource togenerate a plurality of statistical records associated with the firstcontent item.
 12. The system of claim 11, wherein to make the predictionthat the first content item will meet the future access metric, theprocessor is further configured to: determine a rate of change of astatistical metric over time based on the plurality of statisticalrecords; and determine that the rate of change exceeds a rate-of-changethreshold for the statistical metric.
 13. The system of claim 12,wherein the statistical metric comprises content accesses.
 14. Thesystem of claim 9, wherein the statistical data identifies the pluralityof content items on the content source.
 15. The system of claim 9,wherein to make the prediction that the first content item will meet thefuture access metric, the processor is further configured to: determinea current interval of time; determine a current access-per-minute valuefor the current interval of time; determine a previous access-per-minutevalue for a previous interval of time; determine a time span T thatidentifies an amount of time between the previous interval of time andthe current interval of time; determine a rate based on a differencebetween the current access-per-minute value minus the previousaccess-per-minute value, and divide the difference by the time span T;access a rate threshold; and determine that the rate is greater than therate threshold.
 16. The system of claim 9, further comprising: astatistics collection module, the statistics collection moduleconfigured to: periodically request, from the content source that hoststhe first content item, the statistical data associated with the firstcontent item; and periodically receive, from a plurality of computingdevices on which the first content item is presented, the statisticaldata associated with the first content item.
 17. A computer programproduct stored on a non-transitory computer-readable storage medium andincluding instructions configured to cause a processor to carry out thesteps of: receiving statistical data that identifies a plurality ofmetrics associated with accesses of a first content item of a pluralityof content items on a content source by corresponding accessors; basedon the statistical data, making a prediction that the first content itemwill meet a future access metric; based on the prediction, identifyingthe first content item as a content item predicted to meet the futureaccess metric; receiving, from a client device, a content itemidentifier that identifies the first content item; and based on thefirst content item being identified as a content item predicted to meetthe future access metric, providing to the client device a contentdescriptor from a plurality of different content descriptors for use inconjunction with presenting the first content item on a display device.18. The computer program product of claim 17, wherein the instructionsare further configured to cause the processor to set a high-access flagassociated with the first content item to identify the first contentitem as a content item predicted to meet the future access metric. 19.The computer program product of claim 17, wherein to receive thestatistical data that identifies the plurality of metrics, theinstructions are further configured to cause the processor to: request,iteratively over a period of time, the statistical data that identifiesthe plurality of metrics from a statistics collection resource togenerate a plurality of statistical records associated with the firstcontent item.
 20. The computer program product of claim 19, wherein tomake the prediction that the first content item will meet the futureaccess metric, the instructions are further configured to cause theprocessor to: determine a rate of change of a statistical metric overtime based on the plurality of statistical records; and determine thatthe rate of change exceeds a rate-of-change threshold for thestatistical metric.
 21. The computer program product of claim 20,wherein the statistical metric comprises content accesses.
 22. Thecomputer program product of claim 17, wherein to make the predictionthat the first content item will meet the future access metric, theinstructions are further configured to cause the processor to: determinea current interval of time; determine a current access-per-minute valuefor the current interval of time; determine a previous access-per-minutevalue for a previous interval of time; determine a time span T thatidentifies an amount of time between the previous interval of time andthe current interval of time; determine a rate based on a differencebetween the current access-per-minute value minus the previousaccess-per-minute value, and divide the difference by the time span T;access a rate threshold; and determine that the rate is greater than therate threshold.